package message

type RspHandler interface {
	OnResponse(*Message)
}

type Source interface {
	ServiceID() string //服务名称
	SessionID() string //服务点ID
	ClerkID() string   //服务员ID
	ToJson() string
	FromJson(js string) error
	Clone(Source)
	Copy() Source
}

type Request interface {
	Response
	E3LogMarshall() string
	Context() any
	GetKind() Kind
	GetSrvID() string
	GetFromActor() Source
	GetToActor() Source
	ToJson() string
	ResponseForward(Response)
	ResponseMsg(string, []byte)
}

type Response interface {
	GetMsgID() uint64
	GetProtocName() string
	GetBody() []byte
}
